package Person.Lambda.Inter02;

import org.w3c.dom.ls.LSOutput;

public class LambdaDemo {
    public static void main(String[] args){
//匿名内部类
       /* useInter(new Inter() {
            @Override
            public void show() {
                System.out.println("接口");
            }
        });
        useAnimal(new Animal() {
            @Override
            void method() {
                System.out.println("抽象类");
            }
        });
        useStudent(new Student(){
            @Override
            public void study() {
                System.out.println("具体类");
            }
        });*/

        //lambda表达式

      //  useInter(() -> System.out.println("接口"));

//        useAnimal(() -> System.out.println("抽象类"));

//        useStudent(() -> System.out.println("具体类"));

       // lambda表达式 适用对象 必须是 接口，且接口中只能有一个抽象方法

        useInter(new Inter() {
            @Override
            public void show() {
                System.out.println("1");
            }

            @Override
            public void s() {
                System.out.println("2");
            }
        });

    }
    private static void useStudent(Student s){
        s.study();
    }
    private static void useAnimal(Animal a){
        a.method();
    }
    private static void useInter(Inter i){
        i.show();
    }
}
